<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JS类型之间互相转换</title>
  <script>
    /**
     * 1. 字符串与整数之间的互相转换
     * 最优秀的方法：parseInt()
     * 最简单的方法：*1
     */
    function fun1() {
      let a = '123'
      // 1.1 转换方式一：使用*1
      // a = a*1 + 1
      // console.log("a = ",a)         // a =  124
      // 1.2 转换方式二：使用-0
      // a = a - 0 + 1
      // console.log("a = ",a)           // a =  124
      // 1.3 转换方法三：使用Number()函数转换
      // a = Number(a) + 1
      // console.log("a = ",a)           // a =  124
      // 1.4 转换方法四：使用parseInt()函数转换
      a = parseInt(a) + 1
      console.log("a = ",a)              // a =  124
    }
    // fun1()
    /**
     * 2. 字符串与小数之间的转换
     * 最优秀的方法：parseFloat()
     * 最简单的方法：*1
     */
    function fun2(){
      let a = "2.45abc"
      // 2.1 转换方式一
      // a = a*1 + 1
      // console.log("a = ",a)
      // 2.2 转换方式二：
      // a = a - 0 + 1
      // console.log("a = ",a)
      // 2.3 转换方方三：
      // a = Number(a) + 1
      // console.log("a = ",a)
      // 2.4 转换方式四：
      a = parseFloat(a) + 1
      console.log("a = ",a)
    }
    // fun2()
    /**
     * 3. 有如下五种类型会自动转型为false (非常重要)
     */
    function fun3(){
      // 第一种：
      let a = ''
      a = !!a
      console.log("a = ",a)
      // 第二种：
      a = 0
      a = !!a
      console.log("a = ",a)
      // 第三种：
      a = NaN
      a = !!a
      console.log("a = ",a)
      // 第四种：
      a = null
      a = !!a
      console.log("a = ",a)
      // 第五种：
      a = undefined
      a = Boolean(a)
      console.log("a = ",a)
    }
    fun3()
  </script>
</head>
<body>

</body>
</html>
